parent.layer.open打开的页面向上个页面传值 您所在的位置:网站首页 layer open 参数 parent.layer.open打开的页面向上个页面传值

parent.layer.open打开的页面向上个页面传值

2023-11-19 07:08| 来源: 网络整理| 查看: 265

平时遇到的传值问题,一般都是父子页面,父页面定义一个全局的方法,类似

functionName = function(){}

然后再子页面就可以通过parent来调用。

window.parent.functionName()

那么对于parent.layer.open打开的页面,如何向上个页面传值呢?检查dom发现,parent方式打开的iframe和上个页面的iframe是同级关系。

image.png 既然是同级关系,那么 parent肯定不能用了,可以直接获取上个页面的dom元素,直接修改。 首先需要把上个页面的 Layer Index获取到,传递到子页面中,赋值给一个隐藏域。

//获取当前页面的Index var layerIndex = parent.layer.getFrameIndex(window.name); parent.layer.open({ title: '打开子页面', type: 2, content: '/asp/controller?&layerIndex='+layerIndex, area: ['60%', '70%'], Boolean: true, resize: true, shadeClose: true });

然后就是在后打开的页面点击按钮或者什么操作,把数据传递给上个页面,首先就是获取传递过来的layerIndex,然后通过getChildFrame方法获取上页面的body的dom元素,有dom了,直接找到对应的元素赋值就好了,代码如下。

var index = $("#layerIndex").val(); //获取上个页面传递过来的layerIndex var body = parent.layer.getChildFrame('body', index); //获取上个页面的body元素。 body.children().find('#inputId').val("hello");//赋值

欢迎关注微信公众号爱游戏爱编程获取更多资讯。

image.png



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有